This past decade has seen content distributed over communication networks, for example the Internet, evolving from mostly static text and images to increasingly more audio and video pages supported by multimedia objects. Three technical mechanisms are commonly used to deliver Internet media contents, namely downloading, pseudo streaming (also known as progressive downloading or FastStart), and streaming.
In downloading, a client receives the media content directly from a Web server, using HTTP (“Hypertext Transfer Protocol”). The entire media content is received before the client can start playing the media. There is therefore a long startup latency for large media objects or for clients who have limited bandwidths to the Internet such as dial-up clients. Moreover, if a client decides the content of a large media object is not interesting after playing only part of the object, most of the traffic in downloading has been wasted.
In pseudo streaming, the client also receives the media content directly from a Web (HTTP) server. However, the pseudo streaming technique provides the receiving client with the option to enable a media player to play the media content that has already been received while the rest of the content is still being transmitted. Often, there is a rate mismatch between the rate of receiving the media content and the rate of playing the media content. The rate mismatch might result in user-perceived delays (if the playing rate is greater than the receiving rate), or in unnecessary traffic on the Internet (if the receiving rate is greater than the playing rate).
With streaming, the client receives media content from a special streaming server. The playing of a media object by the client media player can start shortly after the client receives the initial portion of the object from the streaming server, enhancing the playing experience. In addition due to the reduced user-perceived latency, the client can make a more timely decision to abort an uninteresting media object without consuming additional network bandwidth compared to downloading and pseudo streaming. Typically, streaming also provides clients with a variety of controls during playback such as pause, rewind and fast forward. Moreover, media content is generally not stored locally at the client, so content is better protected. Even with these advantages, streaming service today is not widely used for delivering media content (compared to downloading) due to the associated expenses and the limited availability of the necessary technology.